Skip to content

Implement Alaska Child Care Assistance Program (CCAP)#8320

Draft
hua7450 wants to merge 5 commits into
PolicyEngine:mainfrom
hua7450:ak-ccap
Draft

Implement Alaska Child Care Assistance Program (CCAP)#8320
hua7450 wants to merge 5 commits into
PolicyEngine:mainfrom
hua7450:ak-ccap

Conversation

@hua7450
Copy link
Copy Markdown
Collaborator

@hua7450 hua7450 commented May 15, 2026

Summary

Implements Alaska Child Care Assistance Program (CCAP), the state's CCDF-funded child care subsidy program administered as Parents Achieving Self-Sufficiency (PASS) under the Alaska Department of Health, Division of Public Assistance, Child Care Program Office.

This PR covers PASS III (general subsidy population) and PASS II (12-month transitional post-ATAP), with the full provider rate matrix and Alaska IN! special-needs supplement.

Closes #8319

Regulatory Authority

  • CCAP Policies and Procedures Manual (rev. Jan 2023) — 706 pages; primary operational manual for PASS I–IV
  • Family Income & Contribution Schedule (FICS), rev. Feb 21, 2022 — current SMI thresholds + sliding-scale copay (2-page PDF, no page anchor)
  • Provider Rate Schedule, rev. Dec 1, 2021 — full rate matrix by region × age group × provider type × care unit
  • Alaska Statutes AS 47.25.001 – .095 (Day Care Assistance and Child Care Grants)
  • Alaska Administrative Code 7 AAC 41:
    • 7 AAC 41.012 — PASS I–IV category structure
    • 7 AAC 41.060 — Alaska IN! special-needs supplemental rate
    • 7 AAC 41.300 — eligible family / residency / asset limit
    • 7 AAC 41.310 — eligible activities
    • 7 AAC 41.335 — family income contribution
    • 7 AAC 41.350 — eligible child
    • 7 AAC 41.360 — parent exceptions

Program Overview

  • Administration: State-administered; CCDF/CCDBG-funded
  • Income limit: 85% Alaska State Median Income (NOT FPG; FPG is used only for self-employment proration per Manual §4080-2 J 4)
  • Categories implemented: PASS II (post-ATAP transitional) + PASS III (general subsidy)
  • Categories excluded: PASS I (ATAP-bundled, covered by PASS III for income-eligible families); PASS IV (OCS protective services, custody status not tracked)
  • Provider rate matrix: 29 rate regions × 4 age groups × 4 provider types × 4 care units (~1,500 cells)
  • Family copay: sliding 0–9% of monthly income, 10 brackets keyed to % SMI band

Eligibility

Requirement Source How Modeled
Child under 13 (turning 13 during cert period OK) Manual §4070-2 (PDF p.173); 7 AAC 41.350 ak_ccap_child_age_eligible (age < p.age_threshold.child)
Special-needs child under 13 Manual §4070-2; 7 AAC 41.060 where(is_disabled, age < p.age_threshold.special_needs, ...)
Family resides in Alaska Manual §4070-1 (PDF p.173); 7 AAC 41.300 defined_for = StateCode.AK
Each parent in eligible activity Manual §4070-3 D (PDF pp.184-194); 7 AAC 41.310 ak_ccap_parent_in_eligible_activity (all-parents-qualify; falls back to meets_ccdf_activity_test)
Family income ≤ 85% AK SMI Manual §4070-2 (PDF p.173); 7 AAC 41.335 ak_ccap_income_eligible (countable_income <= ak_ccap_smi_threshold)
Asset limit $1,000,000 Manual §4070-4 (PDF p.173); 7 AAC 41.300 Federal is_ccdf_asset_eligible + state eligibility/asset_limit.yaml ($1M)
Child citizenship / qualified-noncitizen Manual §4070-2 B (PDF pp.175-176) Federal is_ccdf_immigration_eligible_child (parent citizenship not evaluated, per regulation)
PASS III: general population Manual §4000-2; 7 AAC 41.012 ak_ccap_pass_3_eligible — no prior-assistance precondition
PASS II: 12-month transitional post-ATAP Manual §4000-2; 7 AAC 41.012 ak_ccap_pass_2_eligible reads was_atap_recipient + months_since_atap_exit (input pattern mirrors CA CalWORKs Stage 2/3)
Family size = parents + minor children Manual §4070-4 A (PDF p.194) spm_unit_size

Income & Copay Calculation

  • 85% AK SMI threshold table (FICS Rev Feb 21, 2022 — 2-page PDF, no page anchor): 7 family-size rows with 100% SMI values $5,897 / $7,285 / $8,673 / $10,060 / $11,448 / $11,708 / $11,968. Helper variable ak_ccap_smi_threshold multiplies the family-size-indexed AK SMI by income/smi_rate.yaml (0.85).
  • Sliding-scale copay (FICS): 10 brackets covering 0%, 1%, 2%, 3%, 4%, 5%, 6%, 7%, 8%, 9% of countable monthly income, keyed to the family's % SMI band. Cap = 9%. ak_ccap_copay (SPMUnit/MONTH) applies once at the family level (Manual §4080 — single copay covers all children).
  • Counted earned income: employment_income, self_employment_income (adults only — child earned income excluded per Manual §4080-1 PDF p.203)
  • Counted unearned income: child support received, alimony, Social Security, unemployment, veterans benefits, rental, pension (Manual §4080-3 PDF p.231)
  • Excluded income: Alaska PFD, federal tax refunds, EITC, federal non-cash benefits (SNAP/WIC/Medicaid/Medicare), disaster relief, TA Diversion, in-kind support (Manual §4080-5 PDF p.248) — these variables are not in the adds lists, so they flow around CCAP countable income naturally
  • Child support paid deduction (Manual §4080; 7 AAC 41.335): ak_ccap_child_support_paid_deduction subtracts legally-obligated payments to non-CCAP family members

Benefit Calculation

  • Per-child benefit (ak_ccap_benefit_per_child, Person/MONTH):
    min(provider_charged_rate, state_max_provider_rate) − family_copay_share + special_needs_supplement
  • State max provider rate (ak_ccap_max_provider_rate_per_child): looked up from rates/{provider_type}.yaml indexed by [care_unit][region][age_group]. Four provider files: licensed_center.yaml, licensed_group_home.yaml, licensed_home.yaml, approved_relative_in_home.yaml. Provider Rate Schedule rev. Dec 1, 2021.
  • Family copay share: family copay divided by number of children in care (ak_ccap_dependents_in_care); applied once total per family (Manual §4080)
  • Special-needs supplement (7 AAC 41.060, Alaska IN!): up to 3× the standard provider rate for disabled children under 13. ak_ccap_special_needs_supplement = (supplement_multiplier − 1) × standard_max_rate. The supplement is added OUTSIDE the min(charge, max_rate) cap per regulation wording ("in addition to").
  • Anchorage rate exception (REQ-034, Rate Schedule p.1): no licensed group homes exist in Municipality of Anchorage; parameter file stores 0 for the ANCHORAGE column under licensed_group_home.
  • Annual aggregator: ak_child_care_subsidies (SPMUnit/YEAR) sums the 12 monthly ak_ccap values; registered in gov.hhs.ccdf.child_care_subsidy_programs to feed the federal child_care_subsidies rollup.

Files Added

  • Parameters (14 YAML files): policyengine_us/parameters/gov/states/ak/dpa/ccap/ (age_threshold, age_group, copay, eligibility, income/countable_income, rates, special_needs) + 1 line added to gov/hhs/ccdf/child_care_subsidy_programs.yaml
  • Variables (29 Python files): 27 in policyengine_us/variables/gov/states/ak/dpa/ccap/ (benefit, copay, eligibility, income, rates) + 2 new ATAP common variables in policyengine_us/variables/gov/states/ak/dpa/atap/common/ (was_atap_recipient, months_since_atap_exit)
  • Tests (24 YAML files): 22 in policyengine_us/tests/policy/baseline/gov/states/ak/dpa/ccap/ + 2 in .../ak/dpa/atap/common/; 120 total test cases (all passing)
  • Changelog: changelog.d/ak-ccap.added.md

Total: 68 files, +7,846 lines.

Requirements Coverage

  • 31 in-scope requirements, all covered with parameters/variables/tests
  • 7 requirements documented as NOT-MODELED:
    • REQ-017 (catastrophic medical/dental deduction — specialized expense category not tracked)
    • REQ-018 (educational expense deduction — educational income not separately tracked from other income; net zero effect on countable income since both income and deduction would be omitted)
    • REQ-024 (job search — episodic activity state not simulated)
    • REQ-027 (jury duty — episodic substitute)
    • REQ-028 (CC24 incapacity status — distinct from is_disabled, not tracked)
    • REQ-037 (PASS IV / OCS protective services — custody status not tracked)
    • REQ-038 (PASS I / ATAP-bundled — covered by PASS III for income-eligible families)

Not Modeled (by design)

What Source Why Excluded
PASS IV (OCS protective services / child-only) Manual §4000-2; 7 AAC 41.012 We don't track OCS custody status at the moment
PASS I (ATAP-bundled subsidy) Manual §4000-2; 7 AAC 41.012 Eligibility = ATAP eligibility with no independent income test; ATAP-eligible families with kids already qualify under PASS III via 85% SMI
Catastrophic medical/dental >10% income Manual §4080-4 (PDF p.244) We don't track catastrophic medical expense as a category separate from routine OOP medical at the moment
Educational expense deduction Manual §4080-4 (PDF p.244) Educational income not separately tracked; both the income and the deduction are omitted so the net effect on countable income is zero
Job search activity (ongoing-case) Manual §4070-3 D (PDF pp.184-194) We don't track time-limited episodic activity states at the moment
Jury duty / CC24 incapacity status Manual §4070-3 D (PDF pp.184-194) We don't track point-in-time activity substitutes or the AK-specific CC24 incapacity determination at the moment
AK business license check for self-employment Manual §4070-3 D We don't track state business-licensure status at the moment; income-based proxy used (self-employment net ≥ minimum-wage equivalent)
ANCSA $2,000 per-shareholder per-year exclusion Manual §4080-5 (PDF p.248) We don't track ANCSA distributions as a distinct income source at the moment

Historical Notes

  • FICS effective Feb 21, 2022 (current) — implementation uses this revision only per user-confirmed scope
  • An earlier FICS effective Aug 31, 2019 is available but not backdated in this PR
  • Provider Rate Schedule effective Dec 1, 2021 (current) — single era covers 2021-12-01 onward
  • 7 AAC 41.012 (PASS structure) originally effective June 23, 2006; amended January 5, 2017

Test Plan

  • 120 unit + integration tests pass (CCAP + ATAP common)
  • make format clean
  • CI passes

hua7450 and others added 3 commits May 14, 2026 22:31
…icyEngine#8319)

Adds parameters, variables, and tests for the Alaska CCAP program
including PASS III (general subsidy) and PASS II (12-month post-ATAP
transitional), with the full provider rate matrix and special-needs
supplement.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8cb60e7) to head (8b32e25).
⚠️ Report is 23 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##              main     #8320    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files            3        29    +26     
  Lines           63       433   +370     
==========================================
+ Hits            63       433   +370     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

hua7450 and others added 2 commits May 15, 2026 01:09
- Fix SN supplement formula (was suppressed by charged_rate default)
- Correct PDF page anchors (pass_2_transition_months, child support, rates)
- Strip broken AAC URL fragments
- Add #page=1 to FICS references in .py files
- Add unit test for ak_ccap_parent_in_eligible_activity

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add SSI to AK CCAP countable unearned sources (Manual §4080-3.1.b)
- Fix sweep-gap .py references (PASS pages, rate schedule page)
- Strip broken AAC fragment + cite 7 AAC 45 for ATAP common variables
- Add distinguishing test case for SN supplement formula

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Alaska Child Care Assistance Program (CCAP)

1 participant